import request from '@/utils/request'

/**
 * 查询菜单方案列表
 * @param {Object} params 查询参数
 * @param {string} [params.schemeName] 方案名称
 * @param {string} [params.systemName] 系统名称
 * @param {number} [params.isDefault] 是否默认
 * @param {string} [params.startTime] 开始时间
 * @param {string} [极速.endTime] 结束时间
 * @returns {Promise} 请求结果
 */
export function listMenuSchemes(params) {
  return request({
    url: '/basic/web/scheme/list',
    method: 'get',
    params
  })
}

/**
 * 导出菜单方案列表
 * @param {Object} params 查询参数
 * @param {string} [params.sche极速Name] 方案名称
 * @param {string} [params.systemName] 系统名称
 * @param {number} [params.isDefault] 是否默认
 * @param {string} [params.startTime] 开始时间
 * @param {string} [params.endTime] 结束时间
 * @returns {Promise} 请求结果
 */
export function exportMenuSchemes(params) {
  return request({
    url: '/basic/web/scheme/export',
    method: 'post',
    params,
    responseType: 'blob'
  })
}

/**
 * 获取菜单方案详细信息
 * @param {number} schemeId 方案ID
 * @returns {Promise} 请求结果
 */
export function getMenuSchemeDetail(schemeId) {
  return request({
    url: `/basic/web/scheme/${schemeId}`,
    method: 'get'
  })
}

/**
 * 新增菜单方案
 * @param {Object} data 方案数据
 * @param {string} data.schemeName 方案名称
 * @param {string} data.schemeDesc 方案描述
 * @param {string} data.systemName 系统名称
 * @param {string} data.menuCollection 菜单集合
 * @param {string} data.userType 用户类型
 * @param {number} data.isDefault 是否默认
 * @returns {Promise} 请求结果
 */
export function addMenuScheme(data) {
  return request({
    url: '/basic/web/scheme',
    method: 'post',
    data
  })
}

/**
 * 修改菜单方案
 * @param {Object} data 方案数据
 * @param {number} data.schemeId 方案ID
 * @param {string} data.schemeName 方案名称
 * @param {string} data.s极速Desc 方案描述
 * @param {string} data.systemName 系统名称
 * @param {string} data.menuCollection 菜单集合
 * @param {string} data.userType 用户类型
 * @param {number} data.isDefault 是否默认
 * @returns {Promise} 请求结果
 */
export function updateMenuScheme(data) {
  return request({
    url: '/basic/web/scheme',
    method: 'put',
    data
  })
}

/**
 * 删除菜单方案
 * @param {Array<number>} schemeIds 方案ID数组
 * @returns {Promise} 请求结果
 */
export function deleteMenuSchemes(schemeIds) {
  return request({
    url: `/basic/web/scheme/${schemeIds}`,
    method: 'delete'
  })
}


// 获取菜单集合列表
export function getMenuCollectionList(params) {
  return request({
    url: '/basic/web/scheme/menuList',
    method: 'get',
    params
  })
}